AUTOSAR 入门教程(18)Crypto

#Innolight

🔐 本文将讨论 AUTOSAR 中的加密堆栈(Crypto Stack),它负责为应用程序提供加密服务。加密堆栈由以下组件构成:

Pasted image 20251230113746.png

🛠️ 加密服务管理器(CSM)

CSM 是一个服务层模块,为应用程序提供标准接口来访问软件/硬件加密驱动提供的基础加密服务。这些服务可以通过两种方式访问:

🔄 加密接口(CryIf)

CryIf 是一个 ECU 抽象层模块,它将底层软件/硬件驱动提供的服务从 CSM 中抽象出来,使 CSM 能够为应用程序提供标准化接口。

💾 加密驱动

加密驱动是一个 MCAL 模块,实现了加密服务的具体功能。它可以是:

🌐 加密服务功能

AUTOSAR 加密堆栈可提供以下功能接口:

🧮 哈希服务使用示例

以哈希服务为例说明其使用方法:

  1. 配置阶段

    • 在 CSM 模块中配置哈希接口使用 SHA256/SHA384/SHA512 等算法
    • 为作业(Job)配置加密原语(Crypto Object)
    • 作业是指向原语的配置对象
  2. 调用阶段

    • 通过作业 ID 从 CSM 层引用该作业
    • 同时需要定义 CSM 密钥、通道、队列、优先级和作业类型(同步/异步)

⚙️ CSM 操作类型

CSM 为加密服务定义了三种操作:

  1. START:定义新操作,带新的初始化参数
  2. UPDATE:接收输入数据,可提供中间结果
  3. FINISH:指示数据结束和操作完成

🔄 哈希算法执行流程

对数据块执行哈希算法时: